<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>cframe: xcframe.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">cframe
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xcframe_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xcframe.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This is the file which contains header files related to CFRAME block. </p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date        Changes
----- ---- -------- -------------------------------------------------------
1.00  kc   12/21/2017 Initial release
1.01  bsv  06/11/2019 Added XCframe_ClearCframeErr API
1.02  bsv  17/02/2020 XCframe_SafetyWriteReg API added
1.03  bsv  07/15/2021 Fix doxygen warnings
1.04  ng   06/30/23   Added support for system device tree flow
1.5   mss  09/04/2023 Fixed MISRA-C violation 4.6
      mss  09/04/2023 Fixed MISRA-C violation 8.13
      pre  08/22/2024 Added XCframe_GetLastFrameAddr function and modified
                      XCframe_SetReadParam function</pre><pre></pre><dl class="section note"><dt>Note</dt><dd></dd></dl>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_cframe___config.html">XCframe_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for a CFRAME core.  <a href="struct_x_cframe___config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_cframe.html">XCframe</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> driver instance data structure.  <a href="struct_x_cframe.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga8251535b86bf918ab9b32b1073ce61a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_cframe___config.html">XCframe_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cframe.html#ga8251535b86bf918ab9b32b1073ce61a4">XCframe_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:ga8251535b86bf918ab9b32b1073ce61a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">XCframe_LookupConfig returns a reference to an <a class="el" href="struct_x_cframe___config.html" title="This typedef contains configuration information for a CFRAME core. ">XCframe_Config</a> structure based on the unique device id, <em>DeviceId</em>.  <a href="group__cframe.html#ga8251535b86bf918ab9b32b1073ce61a4">More...</a><br/></td></tr>
<tr class="separator:ga8251535b86bf918ab9b32b1073ce61a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9951a1fa7e1ea6fbed8febcda865134"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#ab9951a1fa7e1ea6fbed8febcda865134">XCframe_CfgInitialize</a> (<a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, const <a class="el" href="struct_x_cframe___config.html">XCframe_Config</a> *CfgPtr, u32 EffectiveAddr)</td></tr>
<tr class="memdesc:ab9951a1fa7e1ea6fbed8febcda865134"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes an CFRAME core.  <a href="#ab9951a1fa7e1ea6fbed8febcda865134">More...</a><br/></td></tr>
<tr class="separator:ab9951a1fa7e1ea6fbed8febcda865134"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5b2374130f27db3762e3854b0744a96"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cframe.html#gaf5b2374130f27db3762e3854b0744a96">XCframe_SelfTest</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr)</td></tr>
<tr class="memdesc:gaf5b2374130f27db3762e3854b0744a96"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function runs a self-test on the driver and hardware device.  <a href="group__cframe.html#gaf5b2374130f27db3762e3854b0744a96">More...</a><br/></td></tr>
<tr class="separator:gaf5b2374130f27db3762e3854b0744a96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fe587ad348d15faccd9fcefd765af44"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#a0fe587ad348d15faccd9fcefd765af44">XCframe_WriteReg</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, u32 AddrOffset, XCframe_FrameNo FrameNo, const Xuint128 *Val)</td></tr>
<tr class="memdesc:a0fe587ad348d15faccd9fcefd765af44"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes to 128 bit CFRAME register.  <a href="#a0fe587ad348d15faccd9fcefd765af44">More...</a><br/></td></tr>
<tr class="separator:a0fe587ad348d15faccd9fcefd765af44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61d26dca381aff614de588980622e127"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#a61d26dca381aff614de588980622e127">XCframe_WriteCmd</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, XCframe_FrameNo CframeNo, u32 Cmd)</td></tr>
<tr class="memdesc:a61d26dca381aff614de588980622e127"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes the value to CFRAME cmd register.  <a href="#a61d26dca381aff614de588980622e127">More...</a><br/></td></tr>
<tr class="separator:a61d26dca381aff614de588980622e127"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a240996c8e6b20583088fd17d40058a6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#a240996c8e6b20583088fd17d40058a6e">XCframe_VggTrim</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, const Xuint128 *TrimVal)</td></tr>
<tr class="memdesc:a240996c8e6b20583088fd17d40058a6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes the VGG TRIM value.  <a href="#a240996c8e6b20583088fd17d40058a6e">More...</a><br/></td></tr>
<tr class="separator:a240996c8e6b20583088fd17d40058a6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2718ef1f8cd748e9eb889297dc945a2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#a2718ef1f8cd748e9eb889297dc945a2f">XCframe_CramTrim</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, u32 TrimValue)</td></tr>
<tr class="memdesc:a2718ef1f8cd748e9eb889297dc945a2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes the CRAM TRIM value.  <a href="#a2718ef1f8cd748e9eb889297dc945a2f">More...</a><br/></td></tr>
<tr class="separator:a2718ef1f8cd748e9eb889297dc945a2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65d6668bf9168f51452fd8e4fbbe70da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#a65d6668bf9168f51452fd8e4fbbe70da">XCframe_BramTrim</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, u32 TrimValue)</td></tr>
<tr class="memdesc:a65d6668bf9168f51452fd8e4fbbe70da"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes the BRAM TRIM value.  <a href="#a65d6668bf9168f51452fd8e4fbbe70da">More...</a><br/></td></tr>
<tr class="separator:a65d6668bf9168f51452fd8e4fbbe70da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15aec289f8e36b8c163da0026c16d7fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#a15aec289f8e36b8c163da0026c16d7fd">XCframe_UramTrim</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, u32 TrimValue)</td></tr>
<tr class="memdesc:a15aec289f8e36b8c163da0026c16d7fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes the BRAM TRIM value.  <a href="#a15aec289f8e36b8c163da0026c16d7fd">More...</a><br/></td></tr>
<tr class="separator:a15aec289f8e36b8c163da0026c16d7fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae27e1bdd1d64c2aadabadfdc99e47b95"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#ae27e1bdd1d64c2aadabadfdc99e47b95">XCframe_SetReadParam</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, XCframe_FrameNo CframeNo, u32 CframeLen, u32 FrameAddr)</td></tr>
<tr class="memdesc:ae27e1bdd1d64c2aadabadfdc99e47b95"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the CFRAME read parameters with mentioned CFRAME length and frame number.  <a href="#ae27e1bdd1d64c2aadabadfdc99e47b95">More...</a><br/></td></tr>
<tr class="separator:ae27e1bdd1d64c2aadabadfdc99e47b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91ddf5ccf6f3a8005683d2a56373145d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#a91ddf5ccf6f3a8005683d2a56373145d">XCframe_ReadReg</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, u32 AddrOffset, XCframe_FrameNo FrameNo, u32 *ValPtr)</td></tr>
<tr class="memdesc:a91ddf5ccf6f3a8005683d2a56373145d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads the 128 bit CFRAME register.  <a href="#a91ddf5ccf6f3a8005683d2a56373145d">More...</a><br/></td></tr>
<tr class="separator:a91ddf5ccf6f3a8005683d2a56373145d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe8587be9cc39c028b74977aab82906a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#afe8587be9cc39c028b74977aab82906a">XCframe_ClearCframeErr</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr)</td></tr>
<tr class="memdesc:afe8587be9cc39c028b74977aab82906a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function clears CFRAME ISRs and is called as part of CFRAME error recovery.  <a href="#afe8587be9cc39c028b74977aab82906a">More...</a><br/></td></tr>
<tr class="separator:afe8587be9cc39c028b74977aab82906a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af70a9f3c08ec391872f0a81e067d9bf4"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#af70a9f3c08ec391872f0a81e067d9bf4">XCframe_SafetyWriteReg</a> (const <a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, u32 AddrOffset, XCframe_FrameNo FrameNo, const Xuint128 *Val)</td></tr>
<tr class="memdesc:af70a9f3c08ec391872f0a81e067d9bf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes to 128 bit CFRAME register and reads it back to validate the write operation.  <a href="#af70a9f3c08ec391872f0a81e067d9bf4">More...</a><br/></td></tr>
<tr class="separator:af70a9f3c08ec391872f0a81e067d9bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5245d5418200c023e4a39ea591374da"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xcframe_8h.html#ad5245d5418200c023e4a39ea591374da">XCframe_GetLastFrameAddr</a> (<a class="el" href="struct_x_cframe.html">XCframe</a> *InstancePtr, u32 BlockType, XCframe_FrameNo CframeNo)</td></tr>
<tr class="memdesc:ad5245d5418200c023e4a39ea591374da"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns the last Cframe address of given cframeno and blocktype.  <a href="#ad5245d5418200c023e4a39ea591374da">More...</a><br/></td></tr>
<tr class="separator:ad5245d5418200c023e4a39ea591374da"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a65d6668bf9168f51452fd8e4fbbe70da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCframe_BramTrim </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>TrimValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes the BRAM TRIM value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">TrimValue</td><td>is to hold BRAM TRIM value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="ab9951a1fa7e1ea6fbed8febcda865134"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XCframe_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe___config.html">XCframe_Config</a> *&#160;</td>
          <td class="paramname"><em>CfgPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>EffectiveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function initializes an CFRAME core. </p>
<p>This function must be called prior to using an CFRAME driver.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">CfgPtr</td><td>is a reference to a structure containing information about a specific <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">EffectiveAddr</td><td>is the device base address in the virtual memory address space. The caller is responsible for keeping the address mapping from EffectiveAddr to the device physical base address unchanged once this function is invoked. Unexpected errors may occur if the address mapping changes after this function is called. If address translation is not used, pass in the physical address instead.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if initialization was successful.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="afe8587be9cc39c028b74977aab82906a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCframe_ClearCframeErr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function clears CFRAME ISRs and is called as part of CFRAME error recovery. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="a2718ef1f8cd748e9eb889297dc945a2f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCframe_CramTrim </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>TrimValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes the CRAM TRIM value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">TrimValue</td><td>is to hold CRAM TRIM value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="ad5245d5418200c023e4a39ea591374da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XCframe_GetLastFrameAddr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>BlockType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XCframe_FrameNo&#160;</td>
          <td class="paramname"><em>CframeNo</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns the last Cframe address of given cframeno and blocktype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance </td></tr>
    <tr><td class="paramname">BlockType</td><td>is block type </td></tr>
    <tr><td class="paramname">CframeNo</td><td>is the index of cframe</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Last Frame Address </dd></dl>

</div>
</div>
<a class="anchor" id="a91ddf5ccf6f3a8005683d2a56373145d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCframe_ReadReg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>AddrOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XCframe_FrameNo&#160;</td>
          <td class="paramname"><em>FrameNo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>ValPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads the 128 bit CFRAME register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">AddrOffset</td><td>is offset of the Cframe register </td></tr>
    <tr><td class="paramname">FrameNo</td><td>is the index of frame </td></tr>
    <tr><td class="paramname">ValPtr</td><td>128 bit variable to store the read data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="af70a9f3c08ec391872f0a81e067d9bf4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XCframe_SafetyWriteReg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>AddrOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XCframe_FrameNo&#160;</td>
          <td class="paramname"><em>FrameNo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Xuint128 *&#160;</td>
          <td class="paramname"><em>Val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes to 128 bit CFRAME register and reads it back to validate the write operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">AddrOffset</td><td>is offset of the Cframe register </td></tr>
    <tr><td class="paramname">FrameNo</td><td>is the index of frame </td></tr>
    <tr><td class="paramname">Val</td><td>is pointer to the value to be written</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Success or Failure </dd></dl>

</div>
</div>
<a class="anchor" id="ae27e1bdd1d64c2aadabadfdc99e47b95"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCframe_SetReadParam </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XCframe_FrameNo&#160;</td>
          <td class="paramname"><em>CframeNo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>CframeLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>FrameAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the CFRAME read parameters with mentioned CFRAME length and frame number. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">CframeNo</td><td>is the index of frame </td></tr>
    <tr><td class="paramname">CframeLen</td><td>is total length of Cframes </td></tr>
    <tr><td class="paramname">FrameAddr</td><td>is frame address</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="a15aec289f8e36b8c163da0026c16d7fd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCframe_UramTrim </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>TrimValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes the BRAM TRIM value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">TrimValue</td><td>is to hold URAM TRIM value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="a240996c8e6b20583088fd17d40058a6e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCframe_VggTrim </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Xuint128 *&#160;</td>
          <td class="paramname"><em>TrimVal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes the VGG TRIM value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">TrimVal</td><td>is pointer to the TRIM value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="a61d26dca381aff614de588980622e127"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCframe_WriteCmd </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XCframe_FrameNo&#160;</td>
          <td class="paramname"><em>CframeNo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Cmd</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes the value to CFRAME cmd register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">CframeNo</td><td>is the index of frame </td></tr>
    <tr><td class="paramname">Cmd</td><td>to be initiated by CFRAME block</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a class="anchor" id="a0fe587ad348d15faccd9fcefd765af44"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XCframe_WriteReg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_cframe.html">XCframe</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>AddrOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XCframe_FrameNo&#160;</td>
          <td class="paramname"><em>FrameNo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Xuint128 *&#160;</td>
          <td class="paramname"><em>Val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes to 128 bit CFRAME register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_cframe.html" title="The XCframe driver instance data structure. ">XCframe</a> instance. </td></tr>
    <tr><td class="paramname">AddrOffset</td><td>is offset of the Cframe register </td></tr>
    <tr><td class="paramname">FrameNo</td><td>is the index of frame </td></tr>
    <tr><td class="paramname">Val</td><td>is pointer to the value to be written</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
